/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package com.invoice.busines.dto;

import com.invoice.enums.Estado;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashSet;
import java.util.List;
import java.util.Set;

/**
 *
 * @author laura
 */
public class InventarioDTO implements Serializable{
    private Integer idInventario;
    private Date fecha;
    private String numGuia;
    private String numFactura;
    private VendedorDTO vendedorDTO;
    private String nomLugar;
    private Estado estado;
    private Set<ArticulosInventarioDTO> articulosInventario;
    private List<InventarioCampoDTO> inventarioCampoDTOs;
    public Integer getIdInventario() {
        return idInventario;
    }

    public void setIdInventario(Integer idInventario) {
        this.idInventario = idInventario;
    }

    public Date getFecha() {
        return fecha;
    }

    public void setFecha(Date fecha) {
        this.fecha = fecha;
    }

    public String getNumGuia() {
        return numGuia;
    }

    public void setNumGuia(String numGuia) {
        this.numGuia = numGuia;
    }

    public String getNumFactura() {
        return numFactura;
    }

    public void setNumFactura(String numFactura) {
        this.numFactura = numFactura;
    }

    public VendedorDTO getVendedorDTO() {
        return vendedorDTO;
    }

    public void setVendedorDTO(VendedorDTO vendedorDTO) {
        this.vendedorDTO = vendedorDTO;
    }
    
    public String getNomLugar() {
        return nomLugar;
    }

    public void setNomLugar(String nomLugar) {
        this.nomLugar = nomLugar;
    }

    public Estado getEstado() {
        return estado;
    }

    public void setEstado(Estado estado) {
        this.estado = estado;
    }
    
    public Set<ArticulosInventarioDTO> getArticulosInventario() {
        return articulosInventario;
    }

    public void setArticulosInventario(Set<ArticulosInventarioDTO> articulosInventario) {
        this.articulosInventario = articulosInventario;
    }
    public void addArticuloInventario(ArticulosInventarioDTO articulosInventarioDTO){
        if (this.articulosInventario == null){
           this.articulosInventario = new HashSet<ArticulosInventarioDTO>();
        }
        articulosInventarioDTO.setInventarioDTO(this);
        this.articulosInventario.add(articulosInventarioDTO);
    }
    public void removeArticuloInventario(ArticulosInventarioDTO articulosInventarioDTO){
        for (ArticulosInventarioDTO articulosInventarioDTO1 : articulosInventario) {
            if(articulosInventarioDTO1.getArticuloDTO().getCode().equals(articulosInventarioDTO.getArticuloDTO().getCode())){
                articulosInventario.remove(articulosInventarioDTO1);
                break;
            }
        }
    }

    public List<InventarioCampoDTO> getInventarioCampoDTOs() {
        return inventarioCampoDTOs;
    }

    public void setInventarioCampoDTOs(List<InventarioCampoDTO> inventarioCampoDTOs) {
        this.inventarioCampoDTOs = inventarioCampoDTOs;
    }
    public void addInventarioCampoDTO(InventarioCampoDTO inventarioCampoDTO) {
        if(this.inventarioCampoDTOs == null){
            this.inventarioCampoDTOs = new ArrayList<InventarioCampoDTO>();
        }
        inventarioCampoDTO.setInventarioDTO(this);
        this.inventarioCampoDTOs.add(inventarioCampoDTO);
    }
}
